package com.csu.mall.search.controller;

import com.csu.mall.common.Global;
import com.csu.mall.common.es.SkuEsModel;
import com.csu.mall.common.utils.R;
import com.csu.mall.search.feign.ProductFeignService;
import com.csu.mall.search.service.ProductSaveService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.io.IOException;
import java.util.List;




@Slf4j
@RequestMapping(value = "/search/save")
@RestController
public class ElasticSaveController {

    @Resource
    private ProductSaveService productSaveService;

//    @Resource
//    private ProductFeignService productFeignService;

    /**
     * 上架商品
     * @param skuEsModels
     * @return
     */
    @PostMapping(value = "/product")
    public R productStatusUp(@RequestBody List<SkuEsModel> skuEsModels) {

        boolean status=false;
        try {
            status = productSaveService.productStatusUp(skuEsModels);
        } catch (IOException e) {
//            log.error("商品上架错误: {}",e);
            return R.error(Global.BizCodeEnum.PRODUCT_UP_EXCEPTION.getCode(), Global.BizCodeEnum.PRODUCT_UP_EXCEPTION.getMessage());
        }

        if(status){
            return R.error(Global.BizCodeEnum.PRODUCT_UP_EXCEPTION.getCode(), Global.BizCodeEnum.PRODUCT_UP_EXCEPTION.getMessage());
        }else {
//            productFeignService.updateSpuStatus(skuEsModels.get(0).getSpuId(), Global.ProductConstant.SpuStatus.UP.getCode());
            return R.ok();
        }

    }


}
